#ifndef ITEM_HH
#define ITEM_HH

#include <QLabel>
#include <string>
#include "actiondispatcher.hh"

/*
  Les instances sont créees suite au ResourceLoader
  qui va mapper les propriétés nécessaires
*/
class Item {
private:
  /*
    L'utilisation d'un id rend le moteur plus flexible
    pour les objets partageant le meme nom

    Est plutot utilise pour les TextEvents qui ont les
    id des objets a ajouter ou retirer
  */
  int id_;
  std::string name_;
  
  /*
    Fonctionne comme Element.image_
   */
  std::string img_src_;
  ActionDispatcher actionDispatcher_;
public:
  Item();
  ~Item();

  int getId();
  std::string getName();
  std::string getImgSrc();
  ActionDispatcher getActionDispatcher();

  void setId(int id);
  void setName(std::string);
  void setImgSrc(std::string);

  void addAction(std::string, int);
};
#endif
